home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1998 …ember: Reference Library / Dev.CD Dec 98 RL1.toast / Technical Documentation / Misc. Standards / MacOS Text Encodings / GUJARATI.TXT < prev    next >
Encoding:
Text File  |  1998-02-06  |  13.2 KB  |  377 lines  |  [TEXT/MPS ]

  1. #=======================================================================
  2. #   FTP file name:  GUJARATI.TXT
  3. #
  4. #   Contents:       Map (external version) from Mac OS Gujarati
  5. #                   encoding to Unicode 2.0
  6. #
  7. #   Copyright:      (c) 1997-1998 by Apple Computer, Inc., all rights
  8. #                   reserved.
  9. #
  10. #   Contacts:       Peter Edberg <pedberg@apple.com>
  11. #                   Julio Gonzalez <juliog@apple.com>
  12. #                   John Jenkins <jenkins@apple.com>
  13. #
  14. #   Changes:
  15. #
  16. #       n02  1998-Feb-05    First version; matches internal utom<4>,
  17. #                           ufrm<5>.
  18. #
  19. # Standard header:
  20. # ----------------
  21. #
  22. #   Apple, the Apple logo, and Macintosh are trademarks of Apple
  23. #   Computer, Inc., registered in the United States and other countries.
  24. #   Unicode is a trademark of Unicode Inc. For the sake of brevity,
  25. #   throughout this document, "Macintosh" can be used to refer to
  26. #   Macintosh computers and "Unicode" can be used to refer to the
  27. #   Unicode standard.
  28. #
  29. #   Apple makes no warranty or representation, either express or
  30. #   implied, with respect to these tables, their quality, accuracy, or
  31. #   fitness for a particular purpose. In no event will Apple be liable
  32. #   for direct, indirect, special, incidental, or consequential damages 
  33. #   resulting from any defect or inaccuracy in this document or the
  34. #   accompanying tables.
  35. #
  36. #   These mapping tables and character lists are subject to change.
  37. #   The latest tables should be available from the following:
  38. #
  39. #   <ftp://ftp.unicode.org/Public/MAPPINGS/VENDORS/APPLE/>
  40. #   <ftp://dev.apple.com/devworld/Technical_Documentation/Misc._Standards/>
  41. #
  42. #   For general information about Mac OS encodings and these mapping
  43. #   tables, see the file "README.TXT".
  44. #
  45. # Format:
  46. # -------
  47. #
  48. #   Three tab-separated columns;
  49. #   '#' begins a comment which continues to the end of the line.
  50. #     Column #1 is the Mac OS Gujarati code or code sequence
  51. #       (in hex as 0xNN or 0xNN+0xNN)
  52. #     Column #2 is the corresponding Unicode or Unicode sequence
  53. #       (in hex as 0xNNNN or 0xNNNN+0xNNNN).
  54. #     Column #3 is a comment containing the Unicode name or sequence
  55. #       of names. In some cases an additional comment follows the
  56. #       Unicode name(s).
  57. #
  58. #   The entries are in two sections. The first section is for pairs of
  59. #   Mac OS Gujarati code points that must be mapped in a special way.
  60. #   The second section maps individual code points.
  61. #
  62. #   Within each section, the entries are in Mac OS Gujarati code order.
  63. #
  64. #   Control character mappings are not shown in this table, following
  65. #   the conventions of the standard UTC mapping tables. However, the
  66. #   Mac OS Gujarati character set uses the standard control characters
  67. #   at 0x00-0x1F and 0x7F.
  68. #
  69. # Notes on Mac OS Gujarati:
  70. # -------------------------
  71. #
  72. #   Mac OS Gujarati is based on IS 13194:1991 (ISCII-91), with the
  73. #   addition of several punctuation and symbol characters. However,
  74. #   Mac OS Gujarati does not support the ATR (attribute) mechanism of
  75. #   ISCII-91.
  76. #
  77. # 1. ISCII-91 features in Mac OS Gujarati include:
  78. #
  79. #  a) Overloading of nukta
  80. #
  81. #     In addition to using the nukta (0xE9) like a combining dot below,
  82. #     nukta is overloaded to function as a general character modifier.
  83. #     In this role, certain code points followed by 0xE9 are treated as
  84. #     a two-byte code point representing a character which may be
  85. #     rather different than the characters represented by either of
  86. #     the code points alone. For example, the character GUJARATI OM
  87. #     (U+0AD0) is represented in ISCII-91 as candrabindu + nukta.
  88. #
  89. #  b) Explicit halant and soft halant
  90. #
  91. #     A double halant (0xE8 + 0xE8) constitutes an "explicit halant",
  92. #     which will always appear as a halant instead of causing formation
  93. #     of a ligature or half-form consonant.
  94. #
  95. #     Halant followed by nukta (0xE8 + 0xE9) constitutes a "soft
  96. #     halant", which prevents formation of a ligature and instead
  97. #     retains the half-form of the first consonant.
  98. #
  99. #  c) Invisible consonant
  100. #
  101. #     The byte 0xD9 (called INV in ISCII-91) is an invisible consonant:
  102. #     It behaves like a consonant but has no visible appearance. It is
  103. #     intended to be used (often in combination with halant) to display
  104. #     dependent forms in isolation, such as the RA forms or consonant
  105. #     half-forms.
  106. #
  107. #  d) Extensions for Vedic, etc.
  108. #
  109. #     The byte 0xF0 (called EXT in ISCII-91) followed by any byte in
  110. #     the range 0xA1-0xEE constitutes a two-byte code point which can
  111. #     be used to represent additional characters for Vedic (or other
  112. #     extensions); 0xF0 followed by any other byte value constitutes
  113. #     malformed text. Mac OS Gujarati supports this mechanism, but
  114. #     does not currently map any of these two-byte code points to
  115. #     anything.
  116. #
  117. # 2. Mac OS Gujarati additions
  118. #
  119. #   Mac OS Gujarati adds characters using the code points
  120. #   0x80-0x8A and 0x90.
  121. #
  122. # 3. Unused code points
  123. #   
  124. #   The following code points are currently unused, and are not shown
  125. #   here: 0x8B-0x8F, 0x91-0xA0, 0xAB, 0xAF, 0xC7, 0xCE, 0xD0, 0xD3,
  126. #   0xE0, 0xE4, 0xEB-0xEF, 0xFB-0xFF. In addition, 0xF0 is not shown
  127. #   here, but it has a special function as described above.
  128. #
  129. # Unicode mapping issues and notes:
  130. # ---------------------------------
  131. #
  132. # 1. Mapping the byte pairs
  133. #
  134. #   If one of the following byte values is encountered when mapping
  135. #   Mac OS Gujarati text - xA1, xAA, xDF, or 0xE8 - then the next
  136. #   byte (if there is one) should be examined. If the next byte is
  137. #   0xE9 - or also 0xE8, if the first byte was 0xE8 - then the byte
  138. #   pair should be mapped using the first section of the mapping
  139. #   table below. Otherwise, each byte should be mapped using the
  140. #   second section of the mapping table below.
  141. #
  142. #   - The Unicode Standard, Version 2.0, specifies how explicit
  143. #     halant and soft halant should be represented in Unicode;
  144. #     these mappings are used below.
  145. #
  146. #   If the byte value 0xF0 is encountered when mapping Mac OS 
  147. #   Gujarati text, then the next byte should be examined. If there
  148. #   is no next byte (e.g. 0xF0 at end of buffer), the mapping
  149. #   process should indicate incomplete character. If there is a next
  150. #   byte but it is not in the range 0xA1-0xEE, the mapping process
  151. #   should indicate malformed text. Otherwise, the mapping process
  152. #   should treat the byte pair as a valid two-byte code point with no
  153. #   mapping (e.g. map it to QUESTION MARK, REPLACEMENT CHARACTER,
  154. #   etc.).
  155. #
  156. # 2. Mapping the invisible consonant
  157. #
  158. #   It has been suggested that INV in ISCII-91 should map to ZERO
  159. #   WIDTH NON-JOINER in Unicode. However, this causes problems with
  160. #   roundtrip fidelity: The ISCII-91 sequences 0xE8+0xE8 and 0xE8+0xD9
  161. #   would map to the same sequence of Unicode characters. We have
  162. #   instead mapped INV to LEFT-TO-RIGHT MARK, which avoids these
  163. #   problems.
  164. #
  165. # Details of mapping changes in each version:
  166. # -------------------------------------------
  167. #
  168. ##################
  169.  
  170. # Section 1: Map the following byte pairs as indicated:
  171. # (ZWNJ means ZERO WIDTH NON-JOINER, ZWJ means ZERO WIDTH JOINER)
  172. # (Also see note about 0xF0 in comments above)
  173.  
  174. 0xA1+0xE9    0x0AD0    # GUJARATI OM
  175. 0xAA+0xE9    0x0AE0    # GUJARATI LETTER VOCALIC RR
  176. 0xDF+0xE9    0x0AC4    # GUJARATI VOWEL SIGN VOCALIC RR
  177. 0xE8+0xE8    0x0ACD+0x200C    # GUJARATI SIGN VIRAMA + ZWNJ    # explicit halant
  178. 0xE8+0xE9    0x0ACD+0x200D    # GUJARATI SIGN VIRAMA + ZWJ    # soft halant
  179.  
  180. # Section 2: Map the remaining bytes as follows:
  181.  
  182. 0x20    0x0020    # SPACE
  183. 0x21    0x0021    # EXCLAMATION MARK
  184. 0x22    0x0022    # QUOTATION MARK
  185. 0x23    0x0023    # NUMBER SIGN
  186. 0x24    0x0024    # DOLLAR SIGN
  187. 0x25    0x0025    # PERCENT SIGN
  188. 0x26    0x0026    # AMPERSAND
  189. 0x27    0x0027    # APOSTROPHE
  190. 0x28    0x0028    # LEFT PARENTHESIS
  191. 0x29    0x0029    # RIGHT PARENTHESIS
  192. 0x2A    0x002A    # ASTERISK
  193. 0x2B    0x002B    # PLUS SIGN
  194. 0x2C    0x002C    # COMMA
  195. 0x2D    0x002D    # HYPHEN-MINUS
  196. 0x2E    0x002E    # FULL STOP
  197. 0x2F    0x002F    # SOLIDUS
  198. 0x30    0x0030    # DIGIT ZERO
  199. 0x31    0x0031    # DIGIT ONE
  200. 0x32    0x0032    # DIGIT TWO
  201. 0x33    0x0033    # DIGIT THREE
  202. 0x34    0x0034    # DIGIT FOUR
  203. 0x35    0x0035    # DIGIT FIVE
  204. 0x36    0x0036    # DIGIT SIX
  205. 0x37    0x0037    # DIGIT SEVEN
  206. 0x38    0x0038    # DIGIT EIGHT
  207. 0x39    0x0039    # DIGIT NINE
  208. 0x3A    0x003A    # COLON
  209. 0x3B    0x003B    # SEMICOLON
  210. 0x3C    0x003C    # LESS-THAN SIGN
  211. 0x3D    0x003D    # EQUALS SIGN
  212. 0x3E    0x003E    # GREATER-THAN SIGN
  213. 0x3F    0x003F    # QUESTION MARK
  214. 0x40    0x0040    # COMMERCIAL AT
  215. 0x41    0x0041    # LATIN CAPITAL LETTER A
  216. 0x42    0x0042    # LATIN CAPITAL LETTER B
  217. 0x43    0x0043    # LATIN CAPITAL LETTER C
  218. 0x44    0x0044    # LATIN CAPITAL LETTER D
  219. 0x45    0x0045    # LATIN CAPITAL LETTER E
  220. 0x46    0x0046    # LATIN CAPITAL LETTER F
  221. 0x47    0x0047    # LATIN CAPITAL LETTER G
  222. 0x48    0x0048    # LATIN CAPITAL LETTER H
  223. 0x49    0x0049    # LATIN CAPITAL LETTER I
  224. 0x4A    0x004A    # LATIN CAPITAL LETTER J
  225. 0x4B    0x004B    # LATIN CAPITAL LETTER K
  226. 0x4C    0x004C    # LATIN CAPITAL LETTER L
  227. 0x4D    0x004D    # LATIN CAPITAL LETTER M
  228. 0x4E    0x004E    # LATIN CAPITAL LETTER N
  229. 0x4F    0x004F    # LATIN CAPITAL LETTER O
  230. 0x50    0x0050    # LATIN CAPITAL LETTER P
  231. 0x51    0x0051    # LATIN CAPITAL LETTER Q
  232. 0x52    0x0052    # LATIN CAPITAL LETTER R
  233. 0x53    0x0053    # LATIN CAPITAL LETTER S
  234. 0x54    0x0054    # LATIN CAPITAL LETTER T
  235. 0x55    0x0055    # LATIN CAPITAL LETTER U
  236. 0x56    0x0056    # LATIN CAPITAL LETTER V
  237. 0x57    0x0057    # LATIN CAPITAL LETTER W
  238. 0x58    0x0058    # LATIN CAPITAL LETTER X
  239. 0x59    0x0059    # LATIN CAPITAL LETTER Y
  240. 0x5A    0x005A    # LATIN CAPITAL LETTER Z
  241. 0x5B    0x005B    # LEFT SQUARE BRACKET
  242. 0x5C    0x005C    # REVERSE SOLIDUS
  243. 0x5D    0x005D    # RIGHT SQUARE BRACKET
  244. 0x5E    0x005E    # CIRCUMFLEX ACCENT
  245. 0x5F    0x005F    # LOW LINE
  246. 0x60    0x0060    # GRAVE ACCENT
  247. 0x61    0x0061    # LATIN SMALL LETTER A
  248. 0x62    0x0062    # LATIN SMALL LETTER B
  249. 0x63    0x0063    # LATIN SMALL LETTER C
  250. 0x64    0x0064    # LATIN SMALL LETTER D
  251. 0x65    0x0065    # LATIN SMALL LETTER E
  252. 0x66    0x0066    # LATIN SMALL LETTER F
  253. 0x67    0x0067    # LATIN SMALL LETTER G
  254. 0x68    0x0068    # LATIN SMALL LETTER H
  255. 0x69    0x0069    # LATIN SMALL LETTER I
  256. 0x6A    0x006A    # LATIN SMALL LETTER J
  257. 0x6B    0x006B    # LATIN SMALL LETTER K
  258. 0x6C    0x006C    # LATIN SMALL LETTER L
  259. 0x6D    0x006D    # LATIN SMALL LETTER M
  260. 0x6E    0x006E    # LATIN SMALL LETTER N
  261. 0x6F    0x006F    # LATIN SMALL LETTER O
  262. 0x70    0x0070    # LATIN SMALL LETTER P
  263. 0x71    0x0071    # LATIN SMALL LETTER Q
  264. 0x72    0x0072    # LATIN SMALL LETTER R
  265. 0x73    0x0073    # LATIN SMALL LETTER S
  266. 0x74    0x0074    # LATIN SMALL LETTER T
  267. 0x75    0x0075    # LATIN SMALL LETTER U
  268. 0x76    0x0076    # LATIN SMALL LETTER V
  269. 0x77    0x0077    # LATIN SMALL LETTER W
  270. 0x78    0x0078    # LATIN SMALL LETTER X
  271. 0x79    0x0079    # LATIN SMALL LETTER Y
  272. 0x7A    0x007A    # LATIN SMALL LETTER Z
  273. 0x7B    0x007B    # LEFT CURLY BRACKET
  274. 0x7C    0x007C    # VERTICAL LINE
  275. 0x7D    0x007D    # RIGHT CURLY BRACKET
  276. 0x7E    0x007E    # TILDE
  277. #
  278. 0x80    0x00D7    # MULTIPLICATION SIGN
  279. 0x81    0x2212    # MINUS SIGN
  280. 0x82    0x2013    # EN DASH
  281. 0x83    0x2014    # EM DASH
  282. 0x84    0x2018    # LEFT SINGLE QUOTATION MARK
  283. 0x85    0x2019    # RIGHT SINGLE QUOTATION MARK
  284. 0x86    0x2026    # HORIZONTAL ELLIPSIS
  285. 0x87    0x2022    # BULLET
  286. 0x88    0x00A9    # COPYRIGHT SIGN
  287. 0x89    0x00AE    # REGISTERED SIGN
  288. 0x8A    0x2122    # TRADE MARK SIGN
  289. #
  290. 0x90    0x0965    # DEVANAGARI DOUBLE DANDA
  291. #
  292. 0xA1    0x0A81    # GUJARATI SIGN CANDRABINDU
  293. 0xA2    0x0A82    # GUJARATI SIGN ANUSVARA
  294. 0xA3    0x0A83    # GUJARATI SIGN VISARGA
  295. 0xA4    0x0A85    # GUJARATI LETTER A
  296. 0xA5    0x0A86    # GUJARATI LETTER AA
  297. 0xA6    0x0A87    # GUJARATI LETTER I
  298. 0xA7    0x0A88    # GUJARATI LETTER II
  299. 0xA8    0x0A89    # GUJARATI LETTER U
  300. 0xA9    0x0A8A    # GUJARATI LETTER UU
  301. 0xAA    0x0A8B    # GUJARATI LETTER VOCALIC R
  302. #
  303. 0xAC    0x0A8F    # GUJARATI LETTER E
  304. 0xAD    0x0A90    # GUJARATI LETTER AI
  305. 0xAE    0x0A8D    # GUJARATI VOWEL CANDRA E
  306. #
  307. 0xB0    0x0A93    # GUJARATI LETTER O
  308. 0xB1    0x0A94    # GUJARATI LETTER AU
  309. 0xB2    0x0A91    # GUJARATI VOWEL CANDRA O
  310. 0xB3    0x0A95    # GUJARATI LETTER KA
  311. 0xB4    0x0A96    # GUJARATI LETTER KHA
  312. 0xB5    0x0A97    # GUJARATI LETTER GA
  313. 0xB6    0x0A98    # GUJARATI LETTER GHA
  314. 0xB7    0x0A99    # GUJARATI LETTER NGA
  315. 0xB8    0x0A9A    # GUJARATI LETTER CA
  316. 0xB9    0x0A9B    # GUJARATI LETTER CHA
  317. 0xBA    0x0A9C    # GUJARATI LETTER JA
  318. 0xBB    0x0A9D    # GUJARATI LETTER JHA
  319. 0xBC    0x0A9E    # GUJARATI LETTER NYA
  320. 0xBD    0x0A9F    # GUJARATI LETTER TTA
  321. 0xBE    0x0AA0    # GUJARATI LETTER TTHA
  322. 0xBF    0x0AA1    # GUJARATI LETTER DDA
  323. 0xC0    0x0AA2    # GUJARATI LETTER DDHA
  324. 0xC1    0x0AA3    # GUJARATI LETTER NNA
  325. 0xC2    0x0AA4    # GUJARATI LETTER TA
  326. 0xC3    0x0AA5    # GUJARATI LETTER THA
  327. 0xC4    0x0AA6    # GUJARATI LETTER DA
  328. 0xC5    0x0AA7    # GUJARATI LETTER DHA
  329. 0xC6    0x0AA8    # GUJARATI LETTER NA
  330. #
  331. 0xC8    0x0AAA    # GUJARATI LETTER PA
  332. 0xC9    0x0AAB    # GUJARATI LETTER PHA
  333. 0xCA    0x0AAC    # GUJARATI LETTER BA
  334. 0xCB    0x0AAD    # GUJARATI LETTER BHA
  335. 0xCC    0x0AAE    # GUJARATI LETTER MA
  336. 0xCD    0x0AAF    # GUJARATI LETTER YA
  337. #
  338. 0xCF    0x0AB0    # GUJARATI LETTER RA
  339. #
  340. 0xD1    0x0AB2    # GUJARATI LETTER LA
  341. 0xD2    0x0AB3    # GUJARATI LETTER LLA
  342. #
  343. 0xD4    0x0AB5    # GUJARATI LETTER VA
  344. 0xD5    0x0AB6    # GUJARATI LETTER SHA
  345. 0xD6    0x0AB7    # GUJARATI LETTER SSA
  346. 0xD7    0x0AB8    # GUJARATI LETTER SA
  347. 0xD8    0x0AB9    # GUJARATI LETTER HA
  348. 0xD9    0x200E    # LEFT-TO-RIGHT MARK    # invisible consonant
  349. 0xDA    0x0ABE    # GUJARATI VOWEL SIGN AA
  350. 0xDB    0x0ABF    # GUJARATI VOWEL SIGN I
  351. 0xDC    0x0AC0    # GUJARATI VOWEL SIGN II
  352. 0xDD    0x0AC1    # GUJARATI VOWEL SIGN U
  353. 0xDE    0x0AC2    # GUJARATI VOWEL SIGN UU
  354. 0xDF    0x0AC3    # GUJARATI VOWEL SIGN VOCALIC R
  355. #
  356. 0xE1    0x0AC7    # GUJARATI VOWEL SIGN E
  357. 0xE2    0x0AC8    # GUJARATI VOWEL SIGN AI
  358. 0xE3    0x0AC5    # GUJARATI VOWEL SIGN CANDRA E
  359. #
  360. 0xE5    0x0ACB    # GUJARATI VOWEL SIGN O
  361. 0xE6    0x0ACC    # GUJARATI VOWEL SIGN AU
  362. 0xE7    0x0AC9    # GUJARATI VOWEL SIGN CANDRA O
  363. 0xE8    0x0ACD    # GUJARATI SIGN VIRAMA    # halant
  364. 0xE9    0x0ABC    # GUJARATI SIGN NUKTA
  365. 0xEA    0x0964    # DEVANAGARI DANDA
  366. #
  367. 0xF1    0x0AE6    # GUJARATI DIGIT ZERO
  368. 0xF2    0x0AE7    # GUJARATI DIGIT ONE
  369. 0xF3    0x0AE8    # GUJARATI DIGIT TWO
  370. 0xF4    0x0AE9    # GUJARATI DIGIT THREE
  371. 0xF5    0x0AEA    # GUJARATI DIGIT FOUR
  372. 0xF6    0x0AEB    # GUJARATI DIGIT FIVE
  373. 0xF7    0x0AEC    # GUJARATI DIGIT SIX
  374. 0xF8    0x0AED    # GUJARATI DIGIT SEVEN
  375. 0xF9    0x0AEE    # GUJARATI DIGIT EIGHT
  376. 0xFA    0x0AEF    # GUJARATI DIGIT NINE
  377.